<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // 1. 封装一个函数，可以接受类似于下面的数组的一个参数
    // 得到一个价格的总和
    // 4.47
    const products = [
      { name: 'Apple', price: 1.99 },
      { name: 'Banana', price: 0.99 },
      { name: 'Orange', price: 1.49 }
    ];

    function getTotalPrice(abc) {
      return abc.reduce((sum, item) => {
        return sum += item.price;
      }, 0)
    }
    console.log(getTotalPrice(products))
    





    // 2. 删除年纪大于28的人,封装成函数
    const people = [
      { name: 'Alice', age: 25 },
      { name: 'Bob', age: 30 },
      { name: 'Charlie', age: 25 }
    ]
    const people2 = [
      { name: 'Alice222', age: 25 },
      { name: 'Bob222', age: 30 },
      { name: 'Charlie222', age: 25 }
    ]

    function filterPeople(people) {
      return people.filter((item) => {
        return item.age <= 28;
      })
    }
    console.log(filterPeople(people2));





    // 函数是可以使用外面的变量的
    // 函数自己的变量外面不能用,除非用返回值的方式
    // 函数内部使用变量的时候，优先使用参数的变量，再使用全局的变量
    // let a = 10;
    // function fn() {
    //   let b = 20;
    //   console.log(a);
    // }
    // fn();
    // console.log(b);
    
    
  </script>
</body>
</html>